home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Xenosoft 2
/
Xenosoft 2 (Game collection)(1994).iso
/
bioforge
/
script
/
towergun.scp
< prev
next >
Wrap
Text File
|
1994-12-08
|
19KB
|
882 lines
// THE TOWER GUN IS INTIMATELY CONNECTED WITH THE VARIABLE LANDER_STAGE
// WHICH TELLS EXACTLY WHERE IN THE MARINE LANDING SEQUENCE WE ARE.
// LANDER_STAGE VALUES ARE AS FOLLOWS:
// 0 - START OF GAME
// 1 - HEARD THE INTENT TO LAND OVER GUARD ROOM RADIO
// 2 - HEARD THE FINAL APPROACH IN THE TOWER, OR ALTERNATELY IN THE
// CONTROL LEVEL HALLWAY.
// 3 - YOU'VE WALKED INTO THE TOWER GUN CAMERA, THUS STARTING THE
// DESCENT OF THE FIRST DROP SHIP.
// 4 - FIRST SHIP HAS PASSED BY IN THE TOWER. WHETHER IT IS BLOWN
// UP IS NOT RELEVENT. USE FIRSTLANDERALIVE TO FIND THAT OUT.
// 5 - SECOND SHIP HAS GONE BY IN THE TOWER. THE SEQUENCE IS COMPLETE.
// _LEXATGUN - IS LEX STANDING THERE USING THE GUN?
// _FIRSTLANDERALIVE - HAVE YOU BLOWN THE FIRST LANDER OUT OF THE SKY YET?
// _SECONDLANDERALIVE - HAVE YOU BLOWN UP THE SECOND LANDER?
// _INCUTSCENE - YOU'RE IN STASIS WATCHING THE SHOTS FIRE AND
// ZOOM BY OR HIT THE SHIP.
// _GUNCHARGED - WHETHER THE GUN IS READY FOR FIRING OR NOT.
// GN1 (20 FRAMES) - LARGE GUN USED TO SHOOT DOWN DROP SHIP.
// GN2 (20 FRAMES) - ALIASING FOR GN1
// LND1 (42 FRAMES) - DROP SHIP FAR AWAY MOVING RT-LT
// LND2 (62 FRAMES) - DROP SHIP NEAR MOVING LT-RT
// RISE (34 FRAMES) - SECOND SHIP RISES UP TO SHOOT AT YOU.
// THESE ROUTINES ARE THE ONES THAT TAKE OVER LEX'S TURNING FUNCTIONALITY
// AND REDIRECT IT TO MAKING THE GUN TURN LEFT AND RIGHT. THE KEY
// VARIABLE THAT INDICATES THAT LEX IS NOW CONTROLLING THE GUN IS
// CALLED "LexAtGun"
{ SWIVELGUNLEFT
I ( ^üí > 0 ) THEN é
I ( ^üó > 0 ) THEN é
^üó ++
// 16 IS THE MAX_GUN_FRAME
I ( ^üÆ < 16 ) THEN
{
^üÆ ++
@Çå (`ä⌐ 50)
}
^üô = ^üÆ
@Ç¢ PLAYER
q TURN_GUN ^üÆ
o
â
^üó --
}
{ SWIVELGUNRIGHT
I ( ^üí > 0 ) THEN é
I ( ^üó > 0 ) THEN é
^üó ++
I ( ^üÆ > 1 ) THEN
{
^üÆ --
@Çå (`ä⌐ 50)
}
^üô = ^üÆ
@Ç¢ PLAYER
q TURN_GUN ^üÆ
o
â
^üó --
}
{ TEST_GUN
:LEFT
@Ç¥ SWIVELGUNLEFT
W 2
I ( ^üÆ < 16 ) THEN J #Çâ
:RIGHT
@Ç¥ SWIVELGUNRIGHT
W 2
I ( ^üÆ > 1 ) THEN J #Çä
}
{ BIG_GUN_USE
I ( ^ü₧ = 0 ) THEN
{
@Ç¢ PLAYER
A OFF
G GUNHERE
//WALK
£ -90 GRADUAL
M USE_TWR_GUN
o
â
q TURN_GUN ^üÆ
o
æ CBG
^ü₧ = 1
}
}
{ RELEASEGUN
Æ
^ü₧ = 0
@Ç¢ PLAYER
M END_TWR_GUN
// I'LL ADD THIS IN LATER WHEN IT DOESN'T CRASH ANYMORE. -KLD
// IF( _GUNACTIVE == 0 ) THEN
// IF( @SETCURRENTFIGURE ROLAND ) THEN
// {
// FACE ROLAND GRADUAL
// //@@@
// @SUBTITLE _ROLAND_VOX_RECOIL1 "Turn on the Main Gun, damn you!"
// IF( _SRE_COUNT < 1 ) THEN
// _SRE_COUNT = 1
// MOTION TAUNT3 70
// }
A ON
// DON'T WAIT HERE, NO MATTER WHAT!
// WAIT 5 SECONDS
I ^üƒ != 1 AND ^üá != 1 THEN
i LEX SHOTDOWN
}
// THIS HANDLES THE GUN'S REAL-TIME ASPECTS.
{ MANAGEGUN
:TOP
â
I ( ^üí > 0 ) THEN J #Çê
I ( ^ü₧ == 0 ) THEN J #Çê
I ( @Çñ ( $éá ) ) THEN
{
// LEFT_ARROW
@Ç¥ ( SWIVELGUNLEFT )
}
I ( @Çñ ( $éó ) ) THEN
{
// RIGHT_ARROW
@Ç¥ ( SWIVELGUNRIGHT )
}
J #Çê
}
{ CBG _KEY _MODIFIERS _MOUSE
I ( ^üí > 0 ) THEN é
N ~ÇÇ
{
U $éÑ
U $üù
// THIS WORKS FINE.
@Ç¥ RELEASEGUN
X ÇÇ
U $éí
U $éÅ
// SPACEBAR
I ( ^üí == 0 ) THEN
{
I ( ^üú == 0 ) THEN
{
@Çì GUNFAILURESOUND
// THIS CAUSES CRASHES. -KLD
@Çì RELEASEGUN
}
E
@Ç¥ ( FIREGUN )
}
X ÇÇ
}
é
}
// THIS JUST RUNS THE SEQUENCE SHOWING A SHIP PASS OFF IN THE DISTANCE.
{ DISTANTSHIP _SPEED
O $Çç
^üö = 0
I @Çû (^çÆ ) THEN
{
@Çî (^çÆ 200 0 90)
@Çï (^çÆ 13000 9000 90)
W 90
(^çÆ )
}
:FIRSTSHIPFLY
^üö ++
W ~ÇÇ
I ( ^üö < 41 ) THEN J #Çï
^üö = 0
}
{ BLOWUPSECOND
â
Ü ( 40,20,20, 3 )
(^çÆ )
@Çå (`ǽ 200)
ú ( BOOM, WHITE, BANG0 )
W 15
Ü ( 40,20,20, 5 )
@Çå (`ǽ )
ú ( BOOM, WHITE, BANG1 )
@Çì KABOOM
O $ÇÇ
O $Çá
}
// THIS IS THE MISSILE THAT GETS SHOT FROM THE INCOMING DROPSHIP.
// YOU WILL FIND ITS
{ MISSILE
< HAS_GRAVITY = 0 >
< IS_BOUNCY = 0 >
< ELASTICITY = 0 >
< IS_REFLECTIVE = 0 >
< EXTENT = ( 20, 20, 20 ) >
}
{ MISSILE_HIT_WALL
@Ç¢ ( PLAYER )
ü CURFIG
@Çì BLOWYOUUP
}
{ BLOWYOUUP
P ~ÇÇ
@Ç¢ ( PLAYER )
M DROPSHIP_WINS CONTINUE
~ÇÇ = 5
(^çÆ )
@Çì KABOOM
@Çå (`åò )
:BRIGHTEN
Ü ( ~ÇÇ , ~ÇÇ , ~ÇÇ , 999 )
~ÇÇ += 20
W 2
L #ÇÉ 6
Æ
C SHOW STITLE
@Ç¥ KILLLEX
}
{ SHIPLAS
< HAS_GRAVITY = 0 >
< IS_BOUNCY = 0 >
< ELASTICITY = 0 >
< IS_REFLECTIVE = 1 >
< EXTENT = ( 20, 20, 20 ) >
}
{ SHIPLAS_HIT_WALL
@Çå ( `Çú , 200 )
ú ( BOOM, PING, CURITEM )
}
{ SHIPLAS_BOUNCE
@Çå (`üì )
ú ( BOOM, PING, CURITEM )
}
// *****************************************
// FLY THE SHIPS PAST THE TOWER
// *****************************************
{ SHIPORCHESTRA
B `ǽ `Çú `üì
B `Çô `Ç⌐
^ü£ = @Çì RUNINCOMINGSHIPS
}
{ RUNINCOMINGSHIPS
P ~ÇÇ
P ~Çü
P ~Çé
~ÇÇ = 0
// JUMP AFTERFIRSTSHIP
// FIRST SHIP FLIES BY; DURING THIS SECTION THE GUARD SHOULD
// BE WHINING AND THREATENED BY LEX INTO TURNING THE GUN BACK ON.
// THE SHIP IS NOWHERE TO BE SEEN, THEN IT GLIDES ACROSS RIGHT TO
// LEFT PRETTY SLOWLY SO THERE IS PLENTY OF TIME FOR YOU TO NOTICE
// IT AND FOR THE GUARD TO CAPITULATE. -KLD
@Ç¥ ( DISTANTSHIP, 5 )
// SOMEWHERE OFF TO THE LEFT, THE SHIP MUST BE TURNING...
W 20 SECONDS
// FIRST SHIP PASSES IN FRONT OF THE GUN AREA. IN ORDER TO
// ACTUALLY HIT IT LEX HAD BETTER BE AT THE GUN'S CONTROLS.
^üò = 0
:SHIPCROSSESVIEW
// TIME DILATION SHOULD OCCUR IF WE'RE OFF SEEING THE SHOTS
// FIRE FROM THE GUN OR ZOOM PAST THE SHIP, OR HIT THE SHIP.
I ( ^üí > 0 ) THEN
{
â
J #Çû
}
I @Çû (^çÆ ) = $Ç╗ THEN
{
^çÆ = @Çç (`Ǽ 0)
@Çî (^çÆ 10 200 150)
@Çï (^çÆ 6000 13000 150)
}
I ( ^üƒ ) THEN
{
I ( ^üí = 0 && @ÇÄ (TWR1) = 0 && @ÇÄ (TWR2) = 0 ) THEN
{
@Ç¥ EARLYBLOWUP
é
}
^üò ++
W 5
}
I ( ^üƒ && ^üò < 61 ) THEN J #Çû
I ( ^üƒ == 0 ) THEN
{
(^çÆ )
@Çì CELEBRATE
@Çì ( SHOWDRAMATICCRASH )
}
//@@@
E @Ç║ `ç₧ "Damn it! That ship got through!"
// WHETHER THE SHIP MANAGED TO PASS, OR WHETHER IT GOT SHOT DOWN
// WE DON'T WANT TO SEE ITS FLY-BY FRAMES ANYMORE.
^üò = 0
// IF, AT THIS POINT, THE FIRST LANDER IS STILL ALIVE, THE
// GAME-STOPPING MARINES WILL SHOW UP EVENTUALLY EVEN IF YOU SHOOT
// DOWN THE SECOND SHIP. JUST CHECK FIRSTLANDERALIVE TO SEE.
// NOW IS ABOUT WHEN THE GUARD SHOULD GET BRAVE AND DECIDE HE REALLY
// WANTS TO KILL YOU AFTER ALL.
:AFTERFIRSTSHIP
^ü¥ = 4
(^çÆ )
// OK, NOW WE CAN SHOW THE SECOND SHIP COMING IN. YOU SHOULD
// ALREADY BE EMBROILED IN YOUR FIGHT WITH THE SUDDENLY-BRAVE
// GUARD. THE SECOND SHIP COMES IN FASTER THAN THE FIRST TO
// GIVE A FEELING OF INCREASED PRESSURE.
@Ç¥ ( DISTANTSHIP, 3 )
// NOW, A DRAMATIC PAUSE WHILE YOU WONDER WHY THE SHIP ISN'T
// COMING ACROSS YOU VIEW, AND THEN...
W 3 SECONDS
// AT THIS POINT YOU MIGHT BE SEEING THE FIRST LANDER BLAZE
// ACROSS THE SKY IN AN INDEPENDENT PROCESS. WE WANT TO BE SURE TO
// WAIT UNTIL IT IS DONE, SO WE CHECK ITS VISIBLE FRAME.
:WAITTILLCRASHED
â
I ( ^üÖ != 0 ) THEN J #Çÿ
// THE SECOND SHIP SUDDENLY RISES UP IN FRONT OF YOU! AT PARTICULAR
// MOMENTS THE SHIP FIRES LASERS AT YOU, WHICH BOUNCE OFF THE
// REFLECTIVE TOWER, AND FINALLY A MISSILE, WHICH DESTROYS YOU.
^üÜ = 0
~Çü = 0
~Çé = 1
:RISEUP
:WAITHERE
// TIME DILATION SHOULD OCCUR IF WE'RE OFF SEEING THE SHOTS
// FIRE FROM THE GUN OR ZOOM PAST THE SHIP, OR HIT THE SHIP.
I ( ^üí > 0 ) THEN
{
â
J #ÇÜ
}
I ( ^üá ) THEN
{
I ( ^üí = 0 && @ÇÄ (TWR1) = 0 && @ÇÄ (TWR2) = 0 ) THEN
{
@Ç¥ EARLYBLOWUP
é
}
I @Çû (^çÆ ) = $Ç╗ THEN
{
^çÆ = @Çç (`Ǽ 0)
@Çî (^çÆ 10 200 60)
@Çï (^çÆ 7000 11000 60)
}
^üÜ += ~Çé
W 4
I ( ~Çü == 0 && ^üÜ == 30 ) THEN
{
~Çé = -1
~Çü ++
}
// USED TO BE 23 TO FIRE ONLY ONCE...
I ( ~Çü == 1 && ^üÜ == 20 ) THEN
{
~Çé = 1
~Çü ++
}
I ( ~Çü == 2 && ^üÜ == 32 ) THEN
{
~Çé = -1;
~Çü ++
}
I ( ~Çü == 3 && ^üÜ == 28 ) THEN
{
~Çé = 1;
~Çü ++
}
// AT THIS MOMENT THE LASERS ARE FIRED AT THE TOWER.
I ( ^üÜ == 20 ) THEN
{
Ü ( 3,3,3, 1 )
@Ç╢ SHIPLAS SHIP0 DEST0A 10 0 0 0
W 10
Ü ( 3,3,3, 1 )
@Ç╢ SHIPLAS SHIP0 DEST0B 10 0 0 0
}
// YOU'VE BLOWN IT. THE SHIP FIRES A MISSILE AT YOU.
I ( ^üÜ == 33 ) THEN
{
C TWR1
// DRAW A SMALL EXPLOSION AS THE MISSILE FIRES
ú ( BOOM PING SHIP1 )
// ACTUALLY FIRE THE MISSILE AT THE TOWER
@Ç╢ MISSILE SHIP1 DEST 10 0 0 0
//@SETCURRENTITEM LASER
//COLLISIONS CURITEM OFF
B `åò
~ÇÇ = 1
}
}
I ( ^üá && ^üÜ < 34 ) THEN J #ÇÖ
:AFTERSECONDSHIP
I ( ^üá == 0 ) THEN
{
I ( ~ÇÇ == 0 ) THEN
@Çì CELEBRATE
@Çì BLOWUPSECOND
}
^ü¥ = 5
:ONESURVIVED
â
I ( ~ÇÇ = 0 && ^üí = 0 && @ÇÄ (TWR1) = 0 ) THEN
{
@Ç¥ EARLYBLOWUP
é
}
I ( ^üƒ == 1 ) THEN
J #Ç£
}
{ EARLYBLOWUP
@Ç¢ PLAYER
A OFF
^üò = 0
^üÜ = 10
C TWR1
@Çå `Ǽ
:KEEPRISING
â
W 4
^üÜ += 1
I ( ^üÜ < 33 ) THEN
J #Ç₧
// DRAW A SMALL EXPLOSION AS THE MISSILE FIRES
ú ( BOOM PING SHIP1 )
// ACTUALLY FIRE THE MISSILE AT THE TOWER
@Ç╢ MISSILE SHIP1 DEST 10 0 0 0
B `åò
}
{ TESTFIRSTHIT _GUN _SHIP
P ~Çé
P ~Çâ
~Çé = 0
~Çâ = ~Çü + ~ÇÇ
//CAPTION "Ship=%ld and Sum=%ld", _SHIP, _SUM, CONTINUE
I ( ~Çü < 51 ) THEN
{
// FOR SHIP FRAMES 44-50 THERE IS ROUGHLY A ONE-TO-ONE
// COORELATION TO THE GUN FRAMES, STARTING AT FRAME 19
// AND GOING DOWN TO FRAME 14, SO...
// USED TO BE 63 TO 64
I ( ~Çâ >= 61 && ~Çâ <= 64 ) THEN
~Çé = 1
}
E I ( ~Çü < 56 ) THEN
{
// 51+13=64 AND 55+10=65
I ( ~Çâ >= 64 && ~Çâ <= 65 ) THEN
~Çé = 1
}
E I ( ~Çü < 60 ) THEN
{
// 56+6=62, 58+3=61
I ( ~Çâ >= 61 && ~Çâ <= 62 ) THEN
~Çé = 1
}
é ~Çé
}
{ GETFIRSTSHIPHITSTATE
P ~ÇÇ
P ~Çü
~Çü = ^üò
~ÇÇ = $é╖
I ( @Ç¥ ( TESTFIRSTHIT( ^üÆ , ~Çü ) ) = 1 ) THEN
{
~ÇÇ = $é╣
}
E
{
// OK, SO MAYBE WE DIDN'T ACTUALLY HIT IT. BUT DID
// WE COME CLOSE? WE CAN TELL BY TESTING FOR A HIT
// WITH THE SHIP IN SLIGHTLY DIFFERENT LOCATIONS.
~Çü += 1
I ( @Ç¥ ( TESTFIRSTHIT( ^üÆ , ~Çü ) ) = 1 ) THEN
~ÇÇ = $é╕
~Çü += 1
I ( @Ç¥ ( TESTFIRSTHIT( ^üÆ , ~Çü ) ) = 1 ) THEN
~ÇÇ = $é╕
~Çü += 1
I ( @Ç¥ ( TESTFIRSTHIT( ^üÆ , ~Çü ) ) = 1 ) THEN
~ÇÇ = $é╕
}
é ~ÇÇ
}
{ GETSECONDSHIPHITSTATE
P ~ÇÇ
P ~Çü
~Çü = ^üÜ
~ÇÇ = $é╖
I ( ^üÆ >= 6 && ^üÆ <= 8 ) THEN
I ( ~Çü > 17 ) THEN
{
~ÇÇ = $é╣
}
é ~ÇÇ
}
// *****************************************
// SHOW THE GUN FIRING!
// *****************************************
[ GUNFIREDISPLAY
00:03 ^üù = 0
00:06 ^üù = 1
00:09 ^üù = 2
00:09 @Çå (`Çô , 150)
00:12 ^üù = 3
00:15 ^üù = 4
00:18 ^üù = 5
00:18 @Çå (`Ç⌐ , 100, -1024)
00:21 ^üù = 6
00:24 ^üù = 7
00:24 @Çå (`Çô , 150)
00:27 ^üù = 8
01:00 ^üù = 9
01:00 @Çå (`Ç⌐ , 100)
01:03 ^üù = 0
01:06 ^üù = 0
]
{ SHOWGUNFIRING
// TELL OTHER SCRIPTS THAT WE'RE LOOKING AT SOMETHING OTHER
// THAN THE MAIN GAME.
^üí += 1
// PERHAPS WE SHOULD PUT THE PLAYER AND EVERYONE ELSE INTO
// STASIS RIGHT HERE...
C LASER
:FIRE_GUNS
@Çì GUNFIREDISPLAY
L #Çñ 2
^üù = 11
^üí -= 1
}
{ CELEBRATE
@Ç¥ RELEASEGUN
@Ç¢ PLAYER
M TWR_VICTORY CONTINUE
W 15
I ^üƒ = 0 THEN @Ç║ (`äº "Yes!")//@@@ PLEASE TRANSLATE
//IF _SECONDLANDERALIVE = 0 THEN @SUBTITLE(_ROLAND_VOX_LEX3 "Yes!")
}
{ GUNFAILURESOUND
@Çå (`ä¡ ,100)
W 5
@Çå (`ä¡ ,150)
W 5
@Çå (`ä¡ ,200)
W 5
@Çå (`ä¡ )
W 15
//@@@
@üì (`èÉ $Ç╜ "Tower Gun off-line")
}
// *****************************************
// THIS ROUTINE HANDLES EVERYTHING ASSOCIATED WITH THE ACT OF
// FIRING THE GUN, INCLUDING SHOWING IT AND DETERMINING WHETHER
// A SUCCESSFUL HIT WAS MADE.
// *****************************************
{ FIREGUN
P ~ÇÇ
// MAKE CERTAIN THAT YOU AREN'T ABLE TO FIRE THE GUN MORE
// THAN ONCE AT A TIME.
ÿ ^ü£
^üí += 1
// I MUST BE AT THE FIRST SHIP...
I ( ^ü¥ == 3 ) THEN
{
~ÇÇ = @Ç¥ ( GETFIRSTSHIPHITSTATE )
I ( ~ÇÇ == $é╣ ) THEN
{
^üƒ = 0
^üò = 0
}
@Çì ( SHOWGUNFIRING )
I ( ~ÇÇ == $é╕ ) THEN
@Ç¥ ( SHOWSHOTSNEARSHIP( 0 ) )
I ( ~ÇÇ == $é╣ ) THEN
@Ç¥ ( SHOWSHOTSNEARSHIP( 1 ) )
}
I ( ^ü¥ == 4 ) THEN
{
~ÇÇ = @Ç¥ ( GETSECONDSHIPHITSTATE )
I ( ~ÇÇ == $é╣ ) THEN
{
^üá = 0
^üÜ = 0
}
@Çì ( SHOWGUNFIRING )
}
:LEAVEFIRESEQUENCE
C TWR1
C UNLOCK
â
^üí -= 1
Ö ^ü£
}
[ SHOWDRAMATICCRASH
00:00 B `Ç¡ `üê `üÄ
00:00 ^üÖ = 1
00:00 @Çå `Ç¡
00:02 ^êî
00:06 ^üÖ = 2
00:12 ^üÖ = 3
00:18 ^üÖ = 4
00:24 ^üÖ = 5
01:00 ^üÖ = 6
01:06 ^üÖ = 7
01:12 ^üÖ = 8
01:18 ^üÖ = 9
01:24 ^üÖ = 10
02:00 ^üÖ = 11
02:06 ^üÖ = 12
02:12 ^üÖ = 13
02:18 ^üÖ = 14
02:24 ^üÖ = 15
03:00 ^üÖ = 16
03:06 ^üÖ = 17
03:12 ^üÖ = 18
03:18 ^üÖ = 19
03:24 ^üÖ = 20
04:00 ^üÖ = 21
04:06 ^üÖ = 22
04:12 ^üÖ = 23
04:18 ^üÖ = 24
04:24 ^üÖ = 25
04:27 @Çå `üê
05:00 ^üÖ = 26
05:06 ^üÖ = 27
05:12 ^üÖ = 28
05:18 ^üÖ = 29
05:24 ^üÖ = 30
06:00 ^üÖ = 31
06:06 ^üÖ = 32
06:12 ^üÖ = 33
06:18 ^üÖ = 34
06:24 ^üÖ = 35
07:00 ^üÖ = 36
07:06 ^üÖ = 37
07:12 ^üÖ = 38
07:18 ^üÖ = 39
07:20 ^üÖ = 40
07:24 ^üÖ = 0
09:02 @Çå `üÄ
]
{ SHOWSHOTSNEARSHIP _ACTUALLY_HIT
^üí += 1
^üÿ = 1
C HIT
B `Ǭ `Çô `ǽ `üê
// SHOW THE SHIP ON APPROACH. THE FIRST FEW SHOTS ALWAYS MISS
// AND CROSS THE BOW.
:MOVESHIP
W 4
^üÿ ++
// THE FIRST TWO SHOTS CROSS THE BOW...
I ( ^üÿ == 15 || ^üÿ == 17 ) THEN
@Çå (`Ǭ )
I ( ^üÿ == 24 ) THEN
{
// IF THE SHIP WAS NOT ACTUALLY HIT, BREAK OUT OF THE
// LOOP HERE, OTHERWISE...
I ( ~ÇÇ = 0 ) THEN J #Ǽ
@Çå (`Çô , 100)
@Çå `ǽ
(^çÆ )
^êî = @Çå (`üê )
}
I ( ^üÿ < 42 ) THEN J #ǽ
:LEAVE
C TWR1
C UNLOCK
// OUT OF THE EVIL LOOP NOW.
^üÿ = 43
^üí -= 1
}
//$ 26 - version number